package touchphysics.main.gui;


import java.awt.Color;
import java.awt.Graphics;

import javax.swing.JFrame;
import javax.swing.JPanel;

import touchphysics.math.Point;

/**
 * 
 * WiiCamWindow das aus Sicht der Kammera der WiiMote 
 * Die Infrarotquelle zeigt die sie sieht.
 * 
 * @author Oliver Schneider
 *
 */
@SuppressWarnings("serial")
public class WiiCamWindow extends JFrame {

	/** Die Position der Lichtwuelle */
	private Point p = new Point();
	/** Ist der punkt Sichtbar ? */
	private boolean isVisible = false;
	
	/**
	 * Erstellt das Fenster, macht es aber nicht Sichtbar
	 */
	public WiiCamWindow(){
		super("WiiCamWindow");
		JPanel content = new JPanel(){
			@Override
			protected void paintComponent(Graphics g) {
				g.setColor(Color.BLACK);
				g.fillRect(0, 0, getWidth(), getHeight());
				if(isVisible){
					g.setColor(Color.WHITE);
					float fX = getWidth()/640f;
					float fY = getHeight()/480f;
					g.fillRect((int)(p.x*fX), (int)(p.y*fY), 2, 2);
				}
			}
		};
		setContentPane(content);
		setSize(640, 480);
	}
	
	/**
	 * Setzt Ob der Lichtpunkt sichtbar ist
	 * @param visible Sichtbarkeit des Lichtpunkts
	 */
	public void setPointVisible(boolean visible){
		isVisible=visible;
		repaint();
	}
	
	/**
	 * Setzt die Position des Lichtpunkts
	 * @param p Position des Punktes
	 */
	public void setPointLocation(Point p){
		this.p.set(p);
		repaint();
	}
}
